﻿
layui.use(['form', 'laydate', 'util'], function () {
    var form = layui.form;
    var layer = layui.layer;
    var laydate = layui.laydate;
    var util = layui.util;
    var colorpicker = layui.colorpicker;

    // 自定义验证规则
    form.verify({
        pass: function (value) {
            if (!/(.+){6, 12}$/.test(value)) {
                return '密码必须 6 到 12 位';
            }
        }
    });

    //渲染
    colorpicker.render({
        elem: '#ID-colorpicker-demo-all',
        color: '#16baaa',
        predefine: true,
        alpha: true,
        done: function (color) {
            layer.msg('选择的值：' + color); // 选择完毕的颜色值

            // 清空或取消选择时也执行 change
            color || this.change(color);
        },
        change: function (color) {
            $('#ID-coupons-back-color').css('background-color', color);
        },
        cancel: function (color) { // 取消颜色选择的回调 --- 2.8+
            this.change(color);
        }
    });

    // 指定开关事件
    form.on('switch(switchTest)', function (data) {
        layer.msg('开关 checked：' + (this.checked ? 'true' : 'false'), {
            offset: '6px'
        });
        layer.tips('温馨提示：请注意开关状态的文字可以随意定义，而不仅仅是 ON|OFF', data.othis)
    });

    // 提交事件
    form.on('submit(demo1)', function (data) {
        var field = data.field; // 获取表单字段值
        // 显示填写结果，仅作演示用
        layer.alert(JSON.stringify(field), {
            title: '当前填写的字段值'
        });
        // 此处可执行 Ajax 等操作
        // …
        return false; // 阻止默认 form 跳转
    });

    // 日期
    laydate.render({
        elem: '#date'
    });

    // 普通事件
    util.on('lay-on', {
        // 获取验证码
        "get-vercode": function (othis) {
            var isvalid = form.validate('.demo-phone'); // 主动触发验证，v2.7.0 新增
            // 验证通过
            if (isvalid) {
                layer.msg('手机号规则验证通过');
                // 此处可继续书写「发送验证码」等后续逻辑
                // …
            }
        }
    });
});
